Multiplexing systems that cause a plurality of nodes to perform same processing in a multiplexing manner have been in practical use as a method for improving the availability and the reliability. The multiplexing systems have high availability because, when a part of the nodes have a stop fault, the other part thereof can continue the processing. The multiplexing systems have high reliability by comparing processing results output from the respective nodes and excluding a wrong result.
Some types of multiplexing systems are known, including a system that multiplexes dedicated computers of the same model arranged side by side. In this system, communications between the computers are stable, and the execution speeds of the computers are substantially equal to each other. In a case where a delay longer than a predetermined time occurs in one of the computers, the delay should be considered as a stop fault. Such an environment is classified as a synchronous network model.
The synchronous network model can detect a stop fault using time-out of a relatively short time. Duplexing systems that employ this mechanism are widely and generally used. Examples of the duplexing systems include, but are not limited to, high-availability (HA) systems, fault tolerant (FT) servers, etc. Furthermore, triplexing systems that employ a majority decision on output results are also in practical use.
With the development of the Internet, practically used are systems including a plurality of computers that operate in association with one another via the Internet. Servers provided by virtual machines are also widely used. A typical example of the systems is what is called a cloud system. Since an environment highly distributed and virtualized on a network frequently has temporary network delay and retardation in execution of computers, the delay and retardation should not be considered as a stop fault. Such an environment is classified as an asynchronous network model.
Under the asynchronous network model you can not consider delay as a stop fault when a node temporarily stops operating. As a result, under the asynchronous network model you can not detect a stop fault with time-out of a relatively short time. To maintain the consistency of multiplexing without detecting a stop failure, the asynchronous network model requires more operating nodes than those of the synchronous network model.
In a system serving as an asynchronous network model and employing a majority decision on output results, the output results required for the majority decision are asynchronously supplied. Especially when the number of operating nodes is large, the system needs to prevent the processing from being delayed until necessary information (output results) is supplied.